import { NextRequest, NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; import { loadVersionData } from "@/lib/storage"; export async function GET( request: NextRequest, { params }: { params: { id: string; versionId: string } } ) { const version = await prisma.fileVersion.findUnique({ where: { id: params.versionId }, include: { file: true }, }); if (!version || version.fileId !== params.id) { return NextResponse.json({ error: "Version not found" }, { status: 404 }); } // Les versions sont des copies du fichier (même état de chiffrement que le fichier courant) const data = await loadVersionData(version.storagePath, version.file.isEncrypted); return new NextResponse(new Uint8Array(data), { headers: { "Content-Type": "application/octet-stream", "Content-Disposition": `attachment; filename="${encodeURIComponent(version.file.name)}"`, "Content-Length": String(data.length), }, }); }